23

» WarCraft 3 / Ошибка краша игры.

Похожие вопросы:

ответ
PyCCKuu_4eJl, а причем тут аура торнадо? Если стан это стан, особый флаг + приказ смотреть на источник стана.
Не пойму почему не молоток бурь а аура торнадо?
ответ
Кажеться я разобрался с крашем и десинком, хотя я так не до конца понял почему именно из-за этих двух вещей происходит такая фигня.
  1. Краш при падении артефакта скорее всего связан с лидербордом где отображаются результаты розыгрыша. Каждую секунду у лидерборда меняется название мб краш как-то связан с этим. По крайней мере этим можно объяснить почему игроков крашило по очереди с некоторой периодичностью. Теперь убрав этот лидерборд и откатав 30+ игр никаких крашей при падении артефактов обнаружено не было. Но конечно хотелось бы понять как лидерборд мог вызвать такие странные краши. Мб конфликт с локальными мультибордами?) Хотя я хз.
  2. Десинхрон в начале волны с 1-м боссом. Я просмотрел 6 реплеев с игр когда вылетали игроки и выяснил что каждый раз это происходило когда их атаковал танк на котором приезжает босс. Танк имеет способность москиты и Тип Атаки - мгновенный и Тип Урона - мили. Мб какое-то сочетания настроек атаки и москитов давало такой странный результат.
ответ
~8gabriel8:
Достаточно низкие настройки?
Увеличил размер с 100х100 до 128х128 и пересчитал границы у модели:
ответ
kittysatalyash:
8gabriel8, Ландшафт собственно не пострадал, просто размеры карт кардинально не совпадают и мне самому проще как-то не по человечески копировать ландшафт и декор, так что вот такие пироги
RiderOfBalance, Ок, я нашёл открытый дрп и скопировал от туда триггеры и заменил. Та открытая дрп работает, на своём я ещё не пробовал, но надеюсь что всё будет работать.
RiderOfBalance, я поставил триггеры с открытой соты, всё ещё не работает, так же я попробовал вообще удалить триггеры и так же всё ещё не работало. Следовательно, скорее всего триггеры тут не причём...
war3map.j:1: parse error
war3map.j:1: Statement outside of function
war3map.j:1: Statement outside of function
war3map.j:1: Statement outside of function
war3map.j:2: Statement outside of function
war3map.j:2: Statement outside of function
war3map.j:3: Statement outside of function
war3map.j:3: Statement outside of function
war3map.j:3: Statement outside of function
war3map.j:4: Statement outside of function
war3map.j:4: Statement outside of function
war3map.j:7: Undeclared variable cj_tmpgr_copy_nw509ert7
war3map.j:9: parse error
war3map.j:9: Statement outside of function
Ниже скриншот с начало .j кода.
Это лишь малая часть проблем, так же в коде есть переменные, чьи имена начинаются с цифр (что недопустимо во всех языках программирования, если мне не изменяет память).
Собственно потому, в .j миллиард ошибок, можешь приложить оригинал карты? Потому что версию, что ты загрузил имеет просто умертвлённый скрипт.

23

» WarCraft 3 / Описание заклинания/эффекта

Похожие вопросы:

ответ
У тебя в поле 2 заклинания?
Просто это одна из способностей, у которой такая фигня получается. У тебя в поле заклинания должно быть два значения. Производная от печати преисподней и от Печати преисподней (слуга)
ответ
ответ
Хозяин Миров, боже
делаем дами ауру
потом всем у кого есть баф ауры даём бонусы скрытым спелбуком
когда баф исчезает убираем бонусы

23

» WarCraft 3 / Помогите с триггером

Похожие вопросы:

ответ
Зачем 2 событие там?
1 Паладин жизнь становится равно или меньше 50
Д Б.е. - отдать приказ без цели - горный король удар грома.
ответ
необязательно делать два триггера, можно сделать 1 с этим событием с условием (Владелец (Переключающий юнит)) равно Нейтрально-враждебный а остальные условия поместить в отдельный if/then/else multiple conditions, хз как называется этот пункт в русском редакторе, но он где-то в первых 15 строчках.
Хотя знаешь мне лень писать, вот так можно сделать в твоём случае

Если ты хочешь посылать куда-то юниты, то лучше давай их другому игроку, не нейтрально-враждебному
ответ
триггерно даём и удаляем спел превратится в ворона после чего можно менять высоту юнита
ответ
тему нормально бы назвали бы
что такое Переключающий юнит??
В русских триггерах переключающий юнит (в англ. триггерах triggering unit) - это юнит, на которого ссылается триггер. Эти все переменные зависят от событии. Вот в событий - юнит умирает, две переменные - это умирающий юнит (Dying unit), и убийца (Kiling unit). Конкретно триггер ссылается на умирающего юнита, то есть здесь
умирающий юнит = переключающий
Есть много похожих событий, где встречается переключающий.
Например, в событий "юнит применяет способность" выделяются две переменные "кастер" (англ. Casting unit) и "юнит-цель" (Target unit of ability being cast). Конкретно триггер ссылается на кастера.
кастер = переключающий
или например в событий юнит - получил приказ
выделяется переменная "юнит-получил приказ" (ordered unit) и цель (если есть, а то есть приказы без цели)
юнит, получивший приказ = переключающий
часто удобно еще владельца переключающего юнита находить
обычно пишут владелец переключающего юнита, а надо бы trigger player (переключающий игрок)
юзай дебаг (см. карту дебаг)
как называется юнит который начал строительство?
я хочу убить юнита который начал строительство
в событии - юнит начинает строительство
есть переменная : строящее здание (Consrtucting structure)
в событии - юнит завершает строительство
переменная завершенная постройка (Consrtuctied structure).
Конкретно события ссылаются на строящее здание, то есть переключающий юнит = здание. А вот строителя нельзя найти.
и мне нужно чтобы здание, строительство которого было начало мгновенно построилось!
но когда я ставлю триггерно
Боевая единица- Определить [Сооружает структуру] процесс строительства [100%]
у меня действительно ставиться полоса строительства как 100% но само строительство не заканчивается. :(
получается стоит стройка здания которое построилось на 100%
Ты про ту функцию
native UnitSetConstructionProgress takes unit whichUnit, integer constructionPercentage returns nothing
Боевая единица - Set Building Construction Progress
чего-то тоже у меня не работает эта функция совсем, может не правильно юзаю, на форуме мало что нашел.
чего-то тоже у меня не работает эта функция совсем, может не правильно юзаю, на форуме мало что нашел.
Короче заработало.
Если рабочий будет строить, а ты в это время воспользуешься этой функции по "событию - юнит начинает строительство" ничего не сработает. Странно как-то. Нужно добавлять 100% после некоторого времени. Спустя 0,01 секунду.
Убрать рабочего после того как в начале возведет фундамент, так да, полоска в 100% то останется =(( Полоска убирается, если рабочий придет и достроит (хотя уже достраивать нечего =( , полное хп )
У рабочего есть способность "ремонтировать". Там надо смотреть.
Советую так:
Юнит - начинает строительство
действие - ждать 0,01 секунд
действие - Боевая единица- Определить [Сооружает структуру] процесс строительства [100%]
следующий момент
юнит - завершает строительство
действие - удалить или убить строителя
Кстати в событий "юнит завершает строительство" и "юнит завершает строительство" нет ссылки на строителя. Только на построенное только что здание. Но эта проблема решаема. Нужно отслеживать приказ строителя, только на форуме одному делал наработку найти не могу, не пойму как делал
как отследить строителя, это делается по приказу
851994 (buildmenu): Приказ (без указания цели), открывающий меню строительства воина, способного возводить здания.
событие - юнит отдал приказ без цели
условие - целочисленное (id приказ) = 851994
приказ 851994 почему-то не отслеживается, он лишь позволяет открыть меню строительства. не катит. пробую тогда потом другое выбираем постройку в меню строительства, и строитель бежит строить.
событие - юнит отдал приказ цель
условие - классификация цели = здание или дерево
казалось бы все так, но недостаток в том, что он может за это время, пока бежит к точке строительства, передумать по желанию игрока. Поэтому надо смотреть, заранее там кучу событий и условии, короче проверок что если там пойдет не так
событие - юнит отдал приказ цель
условие - приказ = repair
можно использовать приказ repair. Короче от способности "ремонтировать" При строительстве и ремонте у орков и людей есть такая фишка. А вот у эльфов нет. Недостаток конечно. И еще рабочий может пойти ремонтировать здание, однако тут срабатывает приказ "smart", который равнозначен "repair". Когда строит/ремонтирует работник можно выяснить текущий приказ. У работника в этот может приказ repair а у светлячка при строительстве id здания, а при ремонте у светлячка id от "обновление".
ответ
Для начала создаешь способность вампиризма, например с 4 уровнями.
1 уровень - 25%
2 уровень - 50%
3 уровень - 75%
4 уровень - 100% вампиризма.
Если нынешнее здоровье героя деленное на максимальное здоровье этого же героя < 0,25 - делаем четвертый уровень способности.
Если нынешнее здоровье героя деленное на максимальное здоровье этого же героя < 0,50 - даем третий уровень способности
И т.д.

23

» WarCraft 3 / Описание

Похожие вопросы:

ответ
Я у себя просто сократил до
|c007f7f7f- пpoдaвaeмый|r
и
|c007f7f7f- иcпoльзyeмый|r
ответ
Нет, нельзя. Только те поля, что устанавливаются через редактор объектов или .slk таблицу.
ответ
Я тоже помню, и там точно был задействован я, и ещё видеопрохождение снимали
Я часть этой системы перенёс себе xgm.guru/p/robotdef

А вот и оригинал
ответ
Нет, вы просто формируте сложно вопросы, и не пользуетесь поиском
Открываем каском рефордж и выдёргивает близард и коммон, смотрим радуется
или вот
ответ
Ctrl+Enter внутри текстового блока

23

» WarCraft 3 / Разработка

Похожие вопросы:

ответ
~8gabriel8:
Каждый вопрос заслуживает отдельного обсуждения, а на все стало лень ответ печатать, когда начал.
Печатать реально долго, легче было реализовать примеры в карте:
Кроме последнего пункта, его нужно персонально рассматривать, так как игра не подразумевает использование для юнита двух списков. Например, можно наполнить список построек у юнита всеми зданиями, часть из которых блокировать при открытии одного списка и разблокировать при открытии второго, но это подходит, когда один рабочий. Можно сделать второй список из книги заклинаний, куда добавлены способности на основе игрушечных строений, чтобы было видно карту пути и всё такое, но там для них используется один приказ, то есть всегда одинаковое здание будет при нажатии на любую способность, а ещё нет стоимости золота и дерева, что тоже придётся как-то ваять триггерно. Можно перевоплощать юнита при смене списка в другого, но там тоже сложности, не помню точно какие, вроде бы связаны с расой, так как все строят по-разному.

С точкой сбора всё просто. Способность у игрока не заблокировать, потому нужно забрать её у всех зданий, которые есть на карте, либо будут построены.

Группа из максимум 9 юнитов работает немножко коряво, ранее мы с PT153 находили какой-то вариант, чтобы работало быстро, но лень пользоваться поиском. Вроде каждую 0.01 секунду проверялось количество выбранных юнитов, лишние удалялись из выбора.

Чтобы не было очереди, пришёл в голову лишь вариант с апгрейдом здания. Но у меня реализован просто пример для одного конкретного здания, а для нескольких абстрактных зданий нужно делать текстовым триггером, который будет для каждого здания запускать локальный таймер на нужное время и добавлять анимационный текстаг work. По отмене апгрейда, либо истечению таймера анимационный тег удаляется и создаётся воин, к которому привязывается соответствующий звук. Но есть и другие варианты, типа создавать внутри здания другое, которое реально будет производить юнитов, когда заказал апгрейд, там иная реализация. И не упомянул про затрачиваемые ресурсы. Потребуется забирать/возвращать часть ресурсов при отмене апгрейда.

На примере триггеров и фиолетовых строк в редакторе объектов смотри, как сделано улучшение Бугая в Дренорского бугая.

Конечно, мог бы сделать MUI триггер на GUI для отсутствия очереди, но это было бы громоздко и в техническом смысле уродливо. производящие здания заносились бы в массив, для которого будет массив таймеров, которые будут заноситься в виде событий на истечение таймера в другой триггер, а точнее будет несколько массивов таймеров, по максимальному числу тренируемых юнитов в любом производящем здании.

Нашёл твои вопросы:
В них бы и спрашивал, что непонятно. А то тебе отвечают, а ты игнорируешь, словно очень умный.
Тебе даже вариант без триггеров для четвёртого пункта сделали: xgm.guru/p/wc3/230191/comments?postid=426457#comment5
ответ
Hush, я проверил, работает
Поменял там баф на любой случайный и карта стала запускаться
ответ
~8gabriel8:
Только нанимать тех же актёров озвучки. У случае с другими людьми или голосовыми движками в лучшем случае удастся сделать что-то похожее, но всё равно будет понятно, что это имитация. Конкретики в вопросе мало, но подобную задачу решал новым голосом с длительным и подробным описанием для актёра его персонажа, чтобы он выдал приемлемую интонацию.

23

» WarCraft 3 / Группа - юниты игрока вызывает утечку

Похожие вопросы:

ответ
Причина: причин было много, а я искал лишь одну
Самыми распространёнными оказались элементарные ошибки в коде, отсутствие параметров, параметры не того типа данных (привет динамическая типизация) или лишние параметры, из за чего происходили "рандомные рассинхроны при обрыве потока"
Огромное спасибо пользователю prog, что откликнулся и смог найти ошибки, а нашёл он их при помощи языкового сервера sumneko lua для VScode

23

» WarCraft 3 / Ошибка при начале игры

Похожие вопросы:

ответ
~8gabriel8:
UrsaBoss:
Всё из за настройки "Качество текстур"
А что делать, я не совсем понял)
Наверное, какая-то текстура имеет размеры не кратные степени двойки.
ответ
Не сов сем по теме, но близко - вот такое можно реализовать на новых функциях 1.31
Увы, полноценного инвентаря на аналогичных функциях пока не выкладывали в общий доступ, каждый пилит себе свою версию.

23

» WarCraft 3 / Как сменить тип атаки

Похожие вопросы:

ответ
Можно через улучшения сделать безвозвратно или через способность "Темный". В остальных случаях только морф.
ответ
Эх, друг) ну я реализовал так. Есть в способностях замечательный закл перевоплащение иллидана. В нейтрально - враждебных. То есть ты создаешь двух героев у одного рэнжа 600 у другова 100 например, а этот спел меняет твоих героев местами(каждому там уже свои спец эффекты делаешь). Там есть еще у меха спел есть похожий, там без ограничения по времени, ну думаю идею ты понял.
ответ
На 126 патче на мемхаке вот можно покупать модификаторы типа атаки, алгоритм для оружия будет тот же самый
На 131 патче функции смены типа атаки есть, но не работают (пока что =))
Морф не костыль, если делаете кампанию и там атаку может менять глав герой, тогда надо будет сделать Х (7) копий героя с новым типом атаки, а если у вас 100 героев и надо всем менять тогда раздувать до 700, это ужасно
Wurst позволит динамически заполнить базу таких героев, но это сложно
ответ
Яд, и всё работает.
ответ
Fly123, это на стандарте на гуи есть
Вот тут примеры как оно делается

23

» WarCraft 3 / Урон в астрал

Похожие вопросы:

ответ
делается изи тебе в константах нужно сделать 0 и давать спел с маг резистом
ответ
izelorr, бонусный урон от астрала пишется в константах карты. Его можно изменить. По умолчанию множитель равен x1.66.

Мои тесты показали, что 100 урона по юниту в астрале без доп. бонусов наносит верные 166. По герою 124.5, что тоже верно - урон умножается на (1 - процент сопротивления магии), а затем на бонус астрала. 100 * (1 - 0.25) * 1.66 = 124.5.

23

» WarCraft 3 / Duel

Похожие вопросы:

ответ
~8gabriel8:
В этом действии Отряд - Pick every unit in (Random 1 units from (Units in Game Area <gen> owned by Player_Hero[Random_Duel])) and do (Actions) где задаётся Random_Duel? Оно как было при инициализации задано, так и не меняется. То есть сначала выбираешь в общей области сражений юнита игрока и перемещаешь его в дуэльную область, а через 2 секунды опять пытаешься выбрать в общей области сражений юнита этого игрока, которого уже там нет, он в дуэльной. Это только то, что бросилось в глаза в самом триггере, в игре не проверял.

23

» WarCraft 3 / Рандомный Герой

Похожие вопросы:

ответ
и перед этим всем действом надо вставить set bj_wantDestroyGroup = true чтоб группа не утекала
ответ
Потому что при стандартном получении опыта вмешиваются игровые константы и формулы по которым они работают, либо своя система это тогда смотри 3 вопрос от бота, либо настраивай игровые константы как тебе надо, это все описано в базовой статье по редактору, раздел формулы WE.
ответ
Причина: причин было много, а я искал лишь одну
Самыми распространёнными оказались элементарные ошибки в коде, отсутствие параметров, параметры не того типа данных (привет динамическая типизация) или лишние параметры, из за чего происходили "рандомные рассинхроны при обрыве потока"
Огромное спасибо пользователю prog, что откликнулся и смог найти ошибки, а нашёл он их при помощи языкового сервера sumneko lua для VScode

23

» WarCraft 3 / неуязвимость здания

Похожие вопросы:

ответ
Я припоминаю как сталкивался с таким. Скорее всего это не лечится. Можно попробовать создавать даммика на месте здания и заставлять его использовать заклинание. Или даже полностью самому написать спелл - он довольно прост.
ответ
Не берите вы эти ульты для основы своих скиллов, они сделаны через одно место лиж бы работали в капмании, а там дальше хоть потоп.
Сделайте заклинание из канала, а юнитов вокруг делайте неуязвимыми.
ответ
да. Сделать не зданием
здание + неуязвимость = убирает полосу
ответ
Кажись придумал. Берем способность "трансмутация" выставляем коэффициент золота и дерева нуль, и ставим в целях героев, не героев, здания, неуязвимые и уязвимые. Но остается открытым вопрос, как запретить целить нейтральные здания, потому что сейчас их целить можно.
И это решилось. Просто убираем галочку "нейтральные" в целях. Таким образом, полный список целей выглядит так: воздушные, враги, герои, здания, наземные, не герои, неуязвимые, уязвимые.

23

» WarCraft 3 / Переменная - способность

Похожие вопросы:

ответ
zlowar:
То есть дебаф должен всегда обновляться.)
Зачем ты делаешь триггерный дебафф? В дефолте так устроено, что дебафф заменяется, так вешай же дефолтно
ответ
Ошибка в описании абилки, точнее неправильные формулы для slk полей <DataA1> лучше вводите значение напрямую, чтобы не делать ошибок.
ответ
То что сказали выше.
Только когда сидишь в гуях это не очевидно, и кажется что используются сами абилки типа "Верховный маг - Буран", а на самом деле это просто строка "blizzard".
Сконвертни триггер в текст и там где отдача приказа будет не айди абилки, а ее строковый приказ.
Так что если хранить приказ, используй строковую переменную. Или целочисленную, тк каждому строковому приказу соответствует целочисленный индекс.
constant native OrderId takes string orderIdString returns integer
constant native OrderId2String takes integer orderId returns string
Есть еще приказы для которых нет соответствующей строки, они отдаются только через число (например перемещение предмета по слотам), эти уже надо искать. Где-то таблица есть с числовыми приказами.
ответ
Комментарии оставляй на местах, где не закончил.

23

» WarCraft 3 / Не показывается юнит

Похожие вопросы:

ответ
ну попробуй так
перед созданием сбрось флаг
set a=GetUnitUIDefByIdCaching(unitid)
if a>0 then
call WMem(a+0xB8,0)
endif
после создания единицу обратно пишешь, должно сработать
ответ
Naadir, что значит сохраняется но не компилится?
можно скрины кода а также пути к карте, игре и редактору
ответ
WakVellios, По всему проблема в том, что каждый юнит содержит slk таблицу присваивающему max min dmg для юнитов, а строки max min не предусмотрены в РО, с остальными полями всё работает.
Решается созданием кастомной slk таблицей новых юнитов.
ответ
Подробнее нужно?

23

» WarCraft 3 / Скажите как убрать утечки?

Похожие вопросы:

ответ
Причина: причин было много, а я искал лишь одну
Самыми распространёнными оказались элементарные ошибки в коде, отсутствие параметров, параметры не того типа данных (привет динамическая типизация) или лишние параметры, из за чего происходили "рандомные рассинхроны при обрыве потока"
Огромное спасибо пользователю prog, что откликнулся и смог найти ошибки, а нашёл он их при помощи языкового сервера sumneko lua для VScode

23

» WarCraft 3 / Поле зрения юнита

Похожие вопросы:

ответ
А теперь заходим в константы и правим пункт: Монстры: время возвращения охраны, Монстры: расстояние охраны.
ответ
world_editor:
Паладин стоит на месте если синий вражеский пехотинец рядом и атакует его при нажатие на нём пкм 1 раз. (надеюсь правильно понял вопрос)
Да, это помогло. Юнит перестаёт атаковать, но начинает бежать от атакующего врага. Пришлось ещё триггер сделать и в итоге вот что получилось
 PaladinAttacked
     События
         Боевая единица - Паладин 0000 <gen> Получает урон
     Условия
     Действия
         Боевая единица - Order (Паладин 0000 <gen>) to Отставить
 Trigger
     События
         Map initialization
     Условия
     Действия
         Боевая единица - Add classification of Работник или аналог to Паладин 0000 <gen>
ответ
Хм, а как насчет сначала найти кодом, есть ли вокруг цели, а потом давать абилку с приказом?

23

» WarCraft 3 / Поясните за утечки

Похожие вопросы:

ответ
Утечка - это когда не удаляются ненужные объекты. Здесь регион нельзя удалять, потому что без него событие не будет работать. Но если у вас много таких событий, то лучше использовать один регион для всех событий, при условии, что размеры региона не будут изменяться в процессе игры, потому что это может нарушить работу других событий, привязанных к данному региону.
А функция TriggerRegisterEnterRectSimple в теории не утечна, но на практике может утекать, например, если в потоке триггера будет вызвано её уничтожение RemoveRegion(GetTriggeringRegion()).

23

» WarCraft 3 / Создание/помощь в Триггере

Похожие вопросы:

ответ
Создай новый триггер
событие- Боевая единица входит в нужную область (A Units enters MYREGION)
условие - Боевая единица - Мой Герой (Unittype или Unit Comparison /+ Player comparison)
действие - Победа (Игра-Victory)
Предварительно создай область MYREGION
ответ
Измени скорость игры и удлини игровой день, насколько я помню он тоже ускоряется при изменении скорости, хотя я могу ошибаться - лучше проверить
ответ
уйма времени уходит на то чтобы понять, что как работает
Де-факто нужно понимание принципов работы только в отношении тех или иных алгоритмов, внутреннее устройство игры может иметь значение в ну очень редких случаях.
ответ
система урона и переменная типа... забыл какого типа, но она может принимать значения true\false
с её помощью отслеживаем включение\выключения щита
ответ
Name Legion:
мне кажется я чтото упустил....либо так..попробовать...
либо так
если integer A то он подберет из массива области увидит кто играет и создаст в эти области работников..либо присвоить по player number...не знаю
они и так рабочие
надо тестировать
Integer A всетаки буду использовать...по солиднее выглядит он..спасибо вопрос закрыт.

23

» WarCraft 3 / Изгнание в астрал

Похожие вопросы:

ответ
делается изи тебе в константах нужно сделать 0 и давать спел с маг резистом

23

» WarCraft 3 / Что делать, и как вылечить Редактор Карт?

Похожие вопросы:

ответ
koloff, единственно верный вариант - перетащить весь импорт из карт в кампанию. Да, трудозатратно. Да, итоговый вес доставляет. Увы.
Представь длину списка файлов в импорте кампании под конец работы
Поэтому придется думать, что загружать, а что нет. По своему опыту знаю, что вычищать потом неиспользованные данные из импорта - сущий ад. Особенно если к каждой модели по 3-4 текстуры.
И да, музыка в mp3 формате тоже не дает грузится. Онли вав.
Все грузится.

23

» WarCraft 3 / Сброс кулдауна

Похожие вопросы:

ответ
Gerhop, если у игрока лишь 1 герой то можно сразу дать этот скилл
при подборе предмета разрешать его а при выпадении запрещать
тогда вроде кд будет сохранятся
если мне память не изменяет
ответ
Например, так.

23

» WarCraft 3 / Не заменяются текстуры склонов

Похожие вопросы:

ответ
Как вариант - попытаться в одной текстуре клиффов попробовать разместить сразу два визуальных решения.
Текстуры клиффов находятся в mpq архиве по адресу ReplaceableTextures\Cliff\
Текстура клиффов
A. рандумные поверхности клиффов
B. тайлинг прямых граней, верхушка клиффа
C. тайлинг прямых граней, низ клиффа
D. угловые тайлы, выбирается 1 рандумный
E. угловые тайлы, низ клиффа
F. применяютя у мостов и подъёмников
Каждому клиффсету принадлежит два файла:
Угловатые клифы ReplaceableTextures\Cliff\Cliff0.blp
Прямые клифы ReplaceableTextures\Cliff\Cliff1.blp
Вроде всё правильно написал, если не прав поправьте.
ответ
Решение: перерисовать клиф, обновить в формат blp. залить в карту.
ответ
В файле war3x.mpq есть несколько маленьких mpq для каждого тайлсета. Конкретно текстуры Короны лежат в i.mpq

23

» WarCraft 3 / Манипуляции с предметом

Похожие вопросы:

ответ
Решил проблему так: создал предметный скилл на основе "повышения здоровья" (т.к. у него нет иконки), обнулил значения бонуса и добавил сфере.
ответ
Уже была у меня такая проблема все делаеш также но ставиш значение в минус: xgm.guru/p/100/178018
ответ
если хотите ссылку вот xgm.guru/p/wc3/unliminv?postid=291866
а может не тот не помню век прошел =)

23

» WarCraft 3 / Дебаф промахов.

Похожие вопросы:

ответ
Поскольку его не пугает наличие большого влияния промахов на геймплей - скорее всего он делает рпг. Имхо в рпг всегда клево смотрятся тексттаги полученного урона, для создания которых необходимы триггеры на отлов получения урона. А отлавливаемый урон - можно и прохилить.
Для прохила(и вообще всех манипуляций с задержкой в 0.00 сек) лично я юзаю такие костыли:
Либа здесь только для доп табуляции. Я за чистый жасс + дефайны.
library ZeroTimeEvent

    globals
        constant integer ZTEArraySize = 64//Even 32 is alot, 64 is too much! Exactly what I need!
        timer Zero//Used for 0. sec uses
        integer ZTECurrent = 0
        unit array ZTEUnits[ZTEArraySize]
        integer array ZTEIntegers[ZTEArraySize]
        real array ZTEReals[ZTEArraySize]
        trigger array ZTETriggers[ZTEArraySize]
    endglobals
    
    function ZeroTimeEvent takes nothing returns nothing
            loop
                set  ZTECurrent = ZTECurrent - 1
                call TriggerExecute( ZTETriggers[ZTECurrent] )
                exitwhen ZTECurrent < 1
            endloop
    endfunction
    
    #define ZTEAddUnit(u) = {
        set  ZTEUnits[ZTECurrent] = u
    }
    
    #define ZTEAddInteger(i) = {
        set  ZTEIntegers[ZTECurrent] = i
    }
    
    #define ZTEAddReal(r) = {
        set  ZTEReals[ZTECurrent] = r
    }
    
    #define ConfirmZTE(trig) = {
        set  ZTETriggers[ZTECurrent] = trig
        set  ZTECurrent = ZTECurrent + 1
        call TimerStart( Zero, ZeroTime, false, function ZeroTimeEvent )
    }
    
    
    
endlibrary
Пример использования
#define UnitRemoveForceAttack(u) = {
    call UnitAddAbility( u, 'Abun' )
    call UnitRemoveAbility( u, 'Abun' )
         ZTEAddUnit(u)
         ConfirmZTE(CheckIfUnitHasA002)
}
Минус такой системы в необходимости создавать триггер для каждого блока кода, т.к. массивы блоков кода запрещены